﻿/*********************************************************************************
**                                                                              **
**  Copyright (C) 2024 LiLong                                                   **
**  This file is part of IonexFileReader.                                       **
**                                                                              **
**  IonexFileReader is free software: you can redistribute it and/or modify     **
**  it under the terms of the GNU General Public License as published by        **
**  the Free Software Foundation, either version 3 of the License, or           **
**  (at your option) any later version.                                         **
**                                                                              **
**  IonexFileReader is distributed in the hope that it will be useful,          **
**  but WITHOUT ANY WARRANTY; without even the implied warranty of              **
**  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the               **
**  GNU General Public License for more details.                                **
**                                                                              **
**  You should have received a copy of the GNU General Public License           **
**  along with IonexFileReader. If not, see <https://www.gnu.org/licenses/>.    **
**********************************************************************************/
#pragma once

#include <vector>

enum class SatelliteSystem
{
    Ben,
    Envisat,
    ERS,
    GeostationarySatellite,
    GNSS,
    IRI,
    Mixed,
    NNSS,
    Topex
};

enum class MapingFunction
{
    None,
    CosZ,
    QFactor
};

struct DateTime
{
    int year;
    int month;
    int day;
    int hour;
    int minute;
    int second;
};

struct DataMap
{
    int id;
    DateTime epoch;
    struct Data
    {
        double lat, lon1, lon2, dlon, h;
        std::vector<int> datas;
    };
    std::vector<Data> blockDatas;
};